package com.cancer.biz.auth.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.cancer.biz.auth.entity.Role;
import com.cancer.biz.auth.entity.User;
import com.cancer.biz.auth.entity.query.UserQuery;


public interface UserDao {
	int countByExample(UserQuery example);

	int deleteByExample(UserQuery example);

	int deleteByPrimaryKey(Integer id);

	int insertSelective(User record);
	
	List<Role> queryRoleByUserId(Integer id);

	List<Integer> queryRoleIdsByUserId(Integer id);

	List<User> selectByExample(UserQuery example);

	/**
	 * @Company GeekPlus
	 * @Description 根据用户id将用户和角色关系表中的记录全部清除,用于操作用户时使用
	 * @param id
	 *            用户id
	 * @return
	 * @Author guojianxia
	 * @Date 2016年1月12日 下午5:13:54
	 */
	int deleteUserRelationRoleByUserId(Integer id);

	User selectByPrimaryKey(Integer id);

	int updateByExampleSelective(@Param("record") User record, @Param("example") UserQuery example);

	int updateByExample(@Param("record") User record, @Param("example") UserQuery example);

	int updateByPrimaryKeySelective(User record);

	int updateByPrimaryKey(User record);
}